import matplotlib.pyplot as plt
import numpy as np
from scipy import signal

fps = 30
duration = 3  # 视频时长（秒）
total_frames = fps * duration

# 生成背景部分方波变化的灰度值
bg_wave_period = 30  # 背景部分的周期（帧）
bg_wave_freq = 1 / bg_wave_period

# signal.square(2 * np.pi * bg_wave_freq * np.arange(total_frames))  这一段代码生成 -1  和  1 的方波，周期为1s
bg_gray_values = (signal.square(2 * np.pi * bg_wave_freq * np.arange(total_frames)) + 1) * 127

# 这一段代码比生成相位延迟的方波
text_gray_values = (signal.square(2 * np.pi * bg_wave_freq * np.arange(total_frames) - 0.01 * 2 * np.pi) + 1) * 127

t = np.arange(0, fps * duration, 1)

# 绘制结果
plt.figure()
# 原信号
plt.plot(t, bg_gray_values, 'b', label='background')
plt.plot(t, text_gray_values, 'r', label='defect')

# 添加图例
plt.legend()

plt.title(' Original signal')
plt.xlabel('frame')
plt.ylabel(' Amplitude ')
plt.show()
